#include <bits/stdc++.h>

using namespace std;

int main(){
    freopen("../A1148.txt","r",stdin);
    int N;
    cin>>N;

    int a[N+1];
    for(int i=1;i<=N;i++) cin>>a[i];

    for(int i=1;i<=N;i++){ //i、j的初始值设置也值得学习。
        for(int j=i+1;j<=N && j!=i;j++){ //假设i、j 说谎  ，不能假设说谎？原因  只能假设狼人？原因
//            wolf.clear();
//            for(int k=1;k<=N;k++){
//                if(k==i || k==j) {
//                    if(a[k]>0) wolf.push_back(a[k]);
//                }
//                if(a[k]<0) wolf.push_back(-a[k]);
//            }
//            if(wolf.size()==2 && count(wolf.begin(),wolf.end(),i) && !count(wolf.begin(),wolf.end(),j)) {
//                cout<<wolf[0]<<" "<<wolf[1];
//                return 0;
//            } else if(wolf.size()==2 && count(wolf.begin(),wolf.end(),j) && !count(wolf.begin(),wolf.end(),i)) {
//                cout<<wolf[0]<<" "<<wolf[1];
//                return 0;
//            }
            vector<int> lie,good(N+1,1);
            good[i] = good[j] = -1;
            for(int k=1;k<=N;k++){
                if(a[k]*good[abs(a[k])]<0) lie.push_back(k);
            }
            if(lie.size()==2 && good[lie[0]]+good[lie[1]]==0){
                cout<<i<<" "<<j<<endl;
                return 0;
            }
        }
    }
    cout<<"No Solution";
}
